//#define _CRT_SECURE_NO_WARNINGS 1
//#include <iostream>
//#include <vector>
//#include <algorithm>
//using namespace std;
//
//int findMinimum(int n, vector<int> left, vector<int> right) {
//    int lefts = 0, rights = 0, subleft = 1e9, subright = 1e9;
//    for (int i = 0; i < n; i++)
//    {
//        lefts += left[i];
//        rights += right[i];
//        if (left[i] && right[i])
//        {
//            subright = min(subright, right[i]);
//            subleft = min(subleft, left[i]);
//        }
//        else if (left[i] == 0)
//        {
//            lefts += right[i];
//        }
//        else if (right[i] == 0)
//        {
//            rights += left[i];
//        }
//    }
//    return min(lefts - subleft, rights - subright) + 2;
//}
//
//int main() {
//    vector<int> left{0,7,1,6};
//    vector<int> right{ 1,5,0,6 };
//    cout << findMinimum(left.size(), left, right);
//    
//    return 0;
//}